import 'package:flutter/services.dart';
import 'package:nordic_otas_plugin/nordic_otas_plugin.dart';
import 'package:plugin_platform_interface/plugin_platform_interface.dart';
import 'nordic_otas_plugin_method_channel.dart';

abstract class NordicOtasPluginPlatform extends PlatformInterface {

  NordicOtasPluginPlatform() : super(token: _token);

  static final Object _token = Object();

  static NordicOtasPluginPlatform _instance = MethodChannelNordicOtasPlugin();

  static NordicOtasPluginPlatform get instance => _instance;

  static set instance(NordicOtasPluginPlatform instance) {
    PlatformInterface.verifyToken(instance, _token);
    _instance = instance;
  }

  Future<String?> getPlatformVersion() {
    throw UnimplementedError('platformVersion() has not been implemented.');
  }

  void setFilePath(String path) {
    throw UnimplementedError('setFilePath() has not been implemented.');
  }

  void startOta() {
    throw UnimplementedError('startOta() has not been implemented.');
  }
  void startAndroidOta(String name,String address) {
    throw UnimplementedError('startAndroidOta() has not been implemented.');
  }
  Future<bool> notice() {
    throw UnimplementedError('notice() has not been implemented.');
  }
  void otaListener(Future<dynamic> Function(MethodCall call)? handler){
    throw UnimplementedError('otaListener() has not been implemented.');
  }

}
